package remote.layouts
{
	import flash.geom.Rectangle;
	
	import remote.IDispose;
	import remote.collections.IList;
	import remote.controls.Component;
	import remote.geom.EdgeMetrics;

	/**
	 * 布局接口 
	 * @author xjj
	 * 
	 */	
	public interface ILayout extends IDispose
	{
		function get elements():Array;
		function set target(value:Component):void;
		function get target():Component;
		
		/**
		 * 更新布局 
		 * 
		 */		
		function layout():void;
		
		/**
		 * 边缘空白 
		 * 
		 */		
		function get edge():EdgeMetrics;
		
		/**
		 * 除去边缘的内容区域 
		 * 
		 */		
		function get contentRect():Rectangle;
		
		/**
		 * 能包含所有子对象的最小矩形区域 
		 * 
		 */		
		function get childrenRect():Rectangle;
	}
}